package com.bff.bjj.musicobjects;

import java.util.Collection;

/**
 * BJJSearchResults is returned from a search.  It contains collections of
 * music objects that match the search criteria.
 *
 * @author bfindeisen
 */
public class BJJSearchResult {

    private Collection<BJJArtist> artists;
    private Collection<BJJAlbum> albums;
    private Collection<BJJSong> items;
    private Collection<BJJContributor> contributors;
    private Collection<BJJTrack> tracks;
    private Collection<BJJGenre> genres;

    /**
     * A {@link Collection} of {@link BJJArtist}s that matched.
     * @return the collection of artists
     */
    public Collection<BJJArtist> getArtists() {
        return artists;
    }

    /**
     * Sets the @{link Collection} of &{link BJJArtist}s
     * @param artists the artists that matched
     */
    public void setArtists(Collection<BJJArtist> artists) {
        this.artists = artists;
    }

    /**
     * A {@link Collection} of {@link BJJAlbum}s that matched.
     * @return the collection of albums
     */
    public Collection<BJJAlbum> getAlbums() {
        return albums;
    }

    /**
     * Sets the @{link Collection} of &{link BJJAlbum}s
     * @param albums the albums that matched
     */
    public void setAlbums(Collection<BJJAlbum> albums) {
        this.albums = albums;
    }

    /**
     * A {@link Collection} of {@link BJJSong}s that matched.
     * @return the collection of songs
     */
    public Collection<BJJSong> getSongs() {
        return items;
    }

    /**
     * Sets the @{link Collection} of &{link BJJSong}s
     * @param songs the songs that matched
     */
    public void setSongs(Collection<BJJSong> songs) {
        this.items = songs;
    }

    /**
     * A {@link Collection} of {@link BJJContributor}s that matched.
     * @return the collection of contributors
     */
    public Collection<BJJContributor> getContributors() {
        return contributors;
    }

    /**
     * Sets the @{link Collection} of &{link BJJContributor}s
     * @param contributors the contributors that matched
     */
    public void setContributors(Collection<BJJContributor> contributors) {
        this.contributors = contributors;
    }

    /**
     * A {@link Collection} of {@link BJJTrack}s that matched.
     * @return the collection of tracks
     */
    public Collection<BJJTrack> getTracks() {
        return tracks;
    }

    /**
     * Sets the @{link Collection} of &{link BJJTrack}s
     * @param tracks the tracks that matched
     */
    public void setTracks(Collection<BJJTrack> tracks) {
        this.tracks = tracks;
    }

    /**
     * @return the genres
     */
    public Collection<BJJGenre> getGenres() {
        return genres;
    }

    /**
     * @param genres the genres to set
     */
    public void setGenres(Collection<BJJGenre> genres) {
        this.genres = genres;
    }
}
